import random

# 初始化店铺信息
shop = {
    "资金": 1000,
    "库存": {
        "苹果": 0,
        "香蕉": 0,
        "橙子": 0
    },
    "商品价格": {
        "苹果": 5,
        "香蕉": 3,
        "橙子": 4
    },
    "进货价格": {
        "苹果": 2,
        "香蕉": 1,
        "橙子": 2
    }
}

# 显示店铺状态
def show_status():
    print(f"当前资金: {shop['资金']} 元")
    print("库存情况:")
    for item, quantity in shop["库存"].items():
        print(f"{item}: {quantity} 个")

# 进货功能
def purchase():
    print("可进货的商品有:")
    for item, price in shop["进货价格"].items():
        print(f"{item}: 进货价 {price} 元")
    item = input("请输入要进货的商品名称 (输入 '退出' 结束进货): ")
    if item == "退出":
        return
    if item not in shop["库存"]:
        print("没有这种商品，无法进货。")
        return
    try:
        quantity = int(input(f"请输入要进货的 {item} 数量: "))
        total_cost = quantity * shop["进货价格"][item]
        if total_cost > shop["资金"]:
            print("资金不足，无法完成进货。")
        else:
            shop["资金"] -= total_cost
            shop["库存"][item] += quantity
            print(f"成功进货 {quantity} 个 {item}，花费 {total_cost} 元。")
    except ValueError:
        print("输入无效，请输入一个整数。")

# 销售功能
def sell():
    print("可销售的商品有:")
    for item, quantity in shop["库存"].items():
        if quantity > 0:
            print(f"{item}: 售价 {shop['商品价格'][item]} 元，库存 {quantity} 个")
    item = input("请输入要销售的商品名称 (输入 '退出' 结束销售): ")
    if item == "退出":
        return
    if item not in shop["库存"] or shop["库存"][item] == 0:
        print("没有这种商品或库存不足，无法销售。")
        return
    try:
        quantity = int(input(f"请输入要销售的 {item} 数量: "))
        if quantity > shop["库存"][item]:
            print("库存不足，无法销售这么多。")
        else:
            total_income = quantity * shop["商品价格"][item]
            shop["资金"] += total_income
            shop["库存"][item] -= quantity
            print(f"成功销售 {quantity} 个 {item}，收入 {total_income} 元。")
    except ValueError:
        print("输入无效，请输入一个整数。")

# 随机事件：有概率遇到商品需求大增
def random_event():
    if random.random() < 0.2:  # 20% 的概率触发事件
        item = random.choice(list(shop["库存"].keys()))
        multiplier = random.randint(2, 5)  # 价格倍数 2 - 5 倍
        original_price = shop["商品价格"][item]
        new_price = original_price * multiplier
        print(f"突发情况！{item} 的市场需求大增，当前售价变为 {new_price} 元！")
        quantity = input(f"请输入要销售的 {item} 数量 (输入 '不销售' 放弃): ")
        if quantity != "不销售":
            try:
                quantity = int(quantity)
                if quantity > shop["库存"][item]:
                    print("库存不足，无法销售这么多。")
                else:
                    total_income = quantity * new_price
                    shop["资金"] += total_income
                    shop["库存"][item] -= quantity
                    print(f"成功销售 {quantity} 个 {item}，收入 {total_income} 元。")
            except ValueError:
                print("输入无效，请输入一个整数或 '不销售'。")

# 主游戏循环
while True:
    show_status()
    print("\n请选择操作:")
    print("1. 进货")
    print("2. 销售")
    print("3. 结束营业")
    choice = input("请输入选项编号: ")
    if choice == "1":
        purchase()
    elif choice == "2":
        sell()
        random_event()
    elif choice == "3":
        print(f"今日营业结束，你目前拥有资金: {shop['资金']} 元。")
        break
    else:
        print("无效的选项，请重新输入。")